package com.ruoyi.order.service;

import java.util.List;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.common.core.domain.Ztree;
import com.ruoyi.order.domain.Category;
import com.ruoyi.order.domain.ShoppingCar;
import com.ruoyi.order.domain.Vo.CategoryVo;
import com.ruoyi.order.domain.Vo.ProductVo;
import com.ruoyi.order.domain.app.Vo.CategoryResultVo;

/**
 * 类别Service接口
 * 
 * @author ruoyi
 * @date 2022-02-04
 */
public interface ICategoryService extends IService<ShoppingCar>
{
    /**
     * 查询类别
     * 
     * @param categoryID 类别主键
     * @return 类别
     */
    Category selectCategoryByCategoryID(Integer categoryID);

    /**
     * 查询类别列表
     * 
     * @param category 类别
     * @return 类别集合
     */
    List<Category> selectCategoryList(Category category);

    /**
     * 新增类别
     * 
     * @param category 类别
     * @return 结果
     */
    int insertCategory(Category category);

    /**
     * 修改类别
     * 
     * @param category 类别
     * @return 结果
     */
    int updateCategory(Category category);

    /**
     * 批量删除类别
     * 
     * @param categoryIDs 需要删除的类别主键集合
     * @return 结果
     */
    int deleteCategoryByCategoryIDs(String categoryIDs);

    /**
     * 删除类别信息
     * 
     * @param categoryID 类别主键
     * @return 结果
     */
    int deleteCategoryByCategoryID(Integer categoryID);
    public List<Ztree> selectCategoryTree();
    List<CategoryVo> getCategoryPage(String categoryName);

    List<CategoryVo> getCategoryPageList();

    List<ProductVo> getCategoryProduct(Integer categoryID);

    List<CategoryVo> getCategoryParentPage();

    List<CategoryResultVo> getCategoryList();

    List<CategoryResultVo> getCategoryInfo(Integer categoryId);



}
